/*
 * Copyright (c) Hisilicon Technologies Co., Ltd. 2019-2019. All rights reserved.
 * Description: video analysis video process queue interface
 * Author: HiMobileCam Reference Develop Team
 * Create: 2019-11-01
 */
#ifndef VIDEO_PROCESS_QUEUE_H
#define VIDEO_PROCESS_QUEUE_H

#include "hi_appcomm.h"

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif  /* End of #ifdef __cplusplus */

HI_HANDLE VIDEOPROCESS_CreateQueue(HI_U32 nodeSize, HI_U32 maxLen);

HI_S32 VIDEOPROCESS_PushQueue(HI_HANDLE queueHdl, HI_VOID* node);

HI_S32 VIDEOPROCESS_ReadQueue(HI_HANDLE queueHdl, HI_U32 bufferCnt, HI_VOID* node, HI_BOOL* readNode);

HI_S32 VIDEOPROCESS_PopQueue(HI_HANDLE queueHdl, HI_VOID* node, HI_BOOL* popNode);

HI_VOID VIDEOPROCESS_ClearQueue(HI_HANDLE queueHdl, HI_VOID* node, HI_U32* bufferCnt);

HI_VOID VIDEOPROCESS_DestroyQueue(HI_HANDLE queueHdl, HI_VOID* node, HI_U32* bufferCnt);

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif  /* End of #ifdef __cplusplus */

#endif /* VIDEO_PROCESS_QUEUE_H */
